//package com.example.util;
//
//import com.auth0.jwt.JWT;
//import com.auth0.jwt.JWTVerifier;
//import com.auth0.jwt.algorithms.Algorithm;
//import com.auth0.jwt.interfaces.DecodedJWT;
//import io.jsonwebtoken.Claims;
//import io.jsonwebtoken.Jwts;
//import io.jsonwebtoken.SignatureAlgorithm;
//import io.jsonwebtoken.SignatureException;
//
//import java.nio.charset.StandardCharsets;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.Map;
//
//public class JwtUtil {
//    private static final String SECRET = "your_jwt_secret"; // 应该从安全的地方读取或注入
//
//    public static String createToken(String userId) {
//        Map<String, Object> claims = new HashMap<>();
//        claims.put("userId", userId); // 将用户ID存储在Token中
//
//        Date expiration = new Date(System.currentTimeMillis() + 1000 * 60 * 60); // 设置Token过期时间为1小时后
//
//        return Jwts.builder()
//                .setClaims(claims)
//                .setExpiration(expiration)
//                .signWith(SignatureAlgorithm.HS512, SECRET.getBytes(StandardCharsets.UTF_8)) // 使用HS512算法和密钥进行签名
//                .compact();
//    }
//
//    public static String getUserIdFromToken(String token) {
//        try {
//            Claims claims = Jwts.parser()
//                    .setSigningKey(SECRET) // 设置签名密钥
//                    .parseClaimsJws(token) // 解析Token
//                    .getBody();
//
//            return claims.get("userId").toString(); // 从Token中获取用户ID
//        } catch (SignatureException e) {
//            // Token签名不正确或已过期，返回null或抛出异常
//            return null;
//        } catch (Exception e) {
//            // 其他异常，返回null或抛出异常
//            return null;
//        }
//    }
//
//
//}
